package com.ruoyi.common.api.sale.plan.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 销售计划DTO
 * 
 * @author ruoyi
 * @date 2023-10-13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SalePlanDTO {

    /** 主键id */
    private Long id;

    /** 计划编号 */
    private String planNumber;

    /** 计划名称 */
    private String planName;

    /** 发往店铺 */
    private Long goShop;

    /** 货运方式 */
    private Long freightMethod;

    /** 货运方式id */
    private Integer mannerId;

    /** 计划状态（0：未审，1：已审，2：部分发货，3：发货完毕） */
    private String planStatus;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date shipTime;

    /** 制单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date preparationTime;

    /** 审核人 */
    private String approver;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditTime;

    /** 产品拼接 */
    private String productsSplicing;

    /** 删除状态 0存在1删除 */
    private String deleteStatus;

    /** 备货状态 */
    private Integer shippingStatus;


    /** 货运方式 */
    private String mannerName;

    /** 用户ID */
    private Long userId;

    /** 用户名称 */
    private String nickName;

    /** 用户头像 */
    private String avatar;

    /** 部门名称 */
    private String deptName;

    /** 部门ID */
    private Long deptId;

    /** 岗位名称 */
    private String postName;

    /** 岗位ID */
    private Long postId;

    /** 祖级列表 */
    private String ancestors;

    /** 店铺ID */
    private Integer shopId;

    /** 店铺名称 */
    private String shopName;

    /** 当前是否可选状态 */
    private String selectStatus;

    /** 添加仓库备货时用户选择的统一的货运方式 */
    private Integer selectedManner;

    /** 添加仓库备货时用户选择的备货仓库 */
    private Integer warehouse;

    /** 物流公司 */
    private Integer logisticsCompany;

    /** 当前审核用户ID */
    private Long reviewerUserId;

    /** 采购计划号 */
    private String procuredPlanNumber;

    /** GTIN列表 */
    private List<String> gtins;

    /** 产品ID列表 */
    private List<Long> productIds;

    /** 是否是备货计划处查询销售计划信息 */
    private Boolean flag;
}